import Vue from 'vue'
import Vuex from 'vuex'
// 导入提取的getters模块
import getters from './getters'
// 导入拆分的模块化文件
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'
import permission from './modules/permission'
// 将Vuex挂载为Vue的插件
Vue.use(Vuex)
// 将Vuex进行实例化
const store = new Vuex.Store({
  // 核心的方法
  // 为什么需要将模块中的state都提取成getters
  // 就是为了方便在组件中数据的使用
  // this.$store.state.app.userInfo
  modules: {
    app,
    settings,
    user,
    permission
  },
  getters
})

export default store
